﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo01
{
//在游戏中会出现很多种不同用途的 NPC，这些 NPC 有各自的存在的价值和作用，同时又具备一些共性的东西。
//在开发 NPC 系统的时候，往往是需要提取共性，独立出一个父类，然后子类继承实现不同作用的 NPC。
//分析：任务 NPC，商贩 NPC，铁匠 NPC，三种 NPC 的种类。
//共有属性：npc 的名字，npc 的类型；
//共有方法：都能和玩家交互(交谈)；

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("----------送信NPC----------");
            NPCTask npc1 = new NPCTask("小白兔", NPCType.NpcTask, "请帮我送封信给外婆。");
            npc1.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------杀怪NPC----------");
            NPCTask npc2 = new NPCTask("小老虎", NPCType.NpcTask, "恐龙入侵了我的家，请帮我打爆他。");
            npc2.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------采集NPC----------");
            NPCTask npc3 = new NPCTask("小松鼠", NPCType.NpcTask, "请帮我采100个松果。");
            npc3.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------武器NPC----------");
            NPCTask npc4 = new NPCTask("小红帽", NPCType.NpcShop, "我有青龙偃月刀。");
            npc4.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------材料NPC----------");
            NPCTask npc5 = new NPCTask("小绿帽", NPCType.NpcShop, "我有绿宝石、红宝石。");
            npc5.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------食物NPC----------");
            NPCTask npc6 = new NPCTask("小黄帽", NPCType.NpcShop, "我有面包。");
            npc6.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------修补NPC----------");
            NPCTask npc7 = new NPCTask("干将", NPCType.NpcIron, "我可以帮你修补青龙偃月刀。");
            npc7.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------强化NPC----------");
            NPCTask npc8 = new NPCTask("莫邪", NPCType.NpcIron, "我可以帮你强化青龙偃月刀。");
            npc8.Spaek();

            Console.WriteLine();
            Console.WriteLine("----------打造NPC----------");
            NPCTask npc9 = new NPCTask("奥恩", NPCType.NpcIron, "我可以帮你打造青龙偃月刀。");
            npc9.Spaek();


            Console.ReadLine();

        }
    }
}

